package net.janeluo.rs.service;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import net.janeluo.rs.entity.RS_Shops;
import net.janeluo.rs.entity.RS_SymNotice;

import org.apache.commons.lang.StringUtils;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.sql.Criteria;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.log.Log;
import org.nutz.log.Logs;
import org.nutz.service.Service;

/**
 * 通知管理处理业务类
 * 
 * @author DLK)YangYining
 * @version 1.0.0
 */
@IocBean(fields = { "dao" })
public class SymNoticeManagerService extends Service {
    private static final Log log = Logs.getLog(SymNoticeManagerService.class);
    
    public SymNoticeManagerService() {
        super();
    }

    public SymNoticeManagerService(Dao dao) {
        super(dao);
    }
    
    /**
     * 通知新增
     * 
     * @param entity 通知实体
     * @return 通知实体
     */
    public RS_SymNotice insertNotice(RS_SymNotice entity){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
        entity.setSntime(sdf.format(new Date()));
        return dao().insert(entity);
    }
    
    /**
     * 通知更新
     * 
     * @param entity 通知实体
     * @return 通知实体
     */
    public int updateNotice(RS_SymNotice entity){
        return dao().update(entity);
    }
    
    /**
     * 根据通知id查询通知
     * 
     * @param mid 通知id
     * @return 通知信息实体
     */
    public RS_SymNotice findNoticeById(Integer snid) {
        return dao().fetch(RS_SymNotice.class, snid);
    }
    
    /**
     * 根据通知id查询通知
     * 
     * @param sid 通知id
     * @return 通知信息实体
     */
    public void deleteNotice(Integer sid) {
        dao().delete(RS_SymNotice.class, sid);
    }
    
    /**
     * 根据通知id查询通知
     * 
     * @param sidarr 通知id集合
     * @return 通知信息实体
     */
    public void deleteNotices(Integer[] sidarr) {
        dao().clear(RS_SymNotice.class, Cnd.where("snid", "in", sidarr));
    }
    
    /**
     * 查询通知列表 
     * 
     * @param NoticeName 通知名称
     * @return
     */
    public List<RS_SymNotice> getNoticesList (String sntitle){
        log.debug("================= 查询列表处理开始 ==================");
        
        Criteria cri = Cnd.cri();
        if (StringUtils.isNotEmpty(sntitle)) {
            cri.where().andLike("sntitle", "%" + sntitle + "%");
        }
        cri.getOrderBy().asc("sntime");
        List<RS_SymNotice> list = dao().query(RS_SymNotice.class, cri);
        log.debug("================= 查询列表处理结束 ==================");
        return list;  
    }
    
}
